From 5d1c5446c57c26a5e4001fcba45e9399330dd8cc Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Mon, 4 Jun 2001 23:46:14 +0000 Subject: [PATCH] support button 6 and 7 for scroll left/right, from Thomas Broyer 2001-06-04 Havoc Pennington * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6 and 7 for scroll left/right, from Thomas Broyer --- ChangeLog | 5 +++++ ChangeLog.pre-2-0 | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-2 | 5 +++++ ChangeLog.pre-2-4 | 5 +++++ ChangeLog.pre-2-6 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gdk/x11/gdkevents-x11.c | 27 ++++++++++++++++++++------- 8 files changed, 55 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2cb0df82d2..4beba06d14 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-06-04 Havoc Pennington + + * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6 + and 7 for scroll left/right, from Thomas Broyer + 2001-05-10 Havoc Pennington * gtk/gtksettings.c (gtk_settings_get_property): Handle case where diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 2cb0df82d2..4beba06d14 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,8 @@ +2001-06-04 Havoc Pennington + + * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6 + and 7 for scroll left/right, from Thomas Broyer + 2001-05-10 Havoc Pennington * gtk/gtksettings.c (gtk_settings_get_property): Handle case where diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 2cb0df82d2..4beba06d14 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2001-06-04 Havoc Pennington + + * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6 + and 7 for scroll left/right, from Thomas Broyer + 2001-05-10 Havoc Pennington * gtk/gtksettings.c (gtk_settings_get_property): Handle case where diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 2cb0df82d2..4beba06d14 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,8 @@ +2001-06-04 Havoc Pennington + + * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6 + and 7 for scroll left/right, from Thomas Broyer + 2001-05-10 Havoc Pennington * gtk/gtksettings.c (gtk_settings_get_property): Handle case where diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 2cb0df82d2..4beba06d14 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +2001-06-04 Havoc Pennington + + * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6 + and 7 for scroll left/right, from Thomas Broyer + 2001-05-10 Havoc Pennington * gtk/gtksettings.c (gtk_settings_get_property): Handle case where diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 2cb0df82d2..4beba06d14 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +2001-06-04 Havoc Pennington + + * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6 + and 7 for scroll left/right, from Thomas Broyer + 2001-05-10 Havoc Pennington * gtk/gtksettings.c (gtk_settings_get_property): Handle case where diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 2cb0df82d2..4beba06d14 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +2001-06-04 Havoc Pennington + + * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6 + and 7 for scroll left/right, from Thomas Broyer + 2001-05-10 Havoc Pennington * gtk/gtksettings.c (gtk_settings_get_property): Handle case where diff --git a/gdk/x11/gdkevents-x11.c b/gdk/x11/gdkevents-x11.c index 305f7b6157..8042f49195 100644 --- a/gdk/x11/gdkevents-x11.c +++ b/gdk/x11/gdkevents-x11.c @@ -650,11 +650,23 @@ gdk_event_translate (GdkEvent *event, /* If we get a ButtonPress event where the button is 4 or 5, it's a Scroll event */ - if (xevent->xbutton.button == 4 || xevent->xbutton.button == 5) - { + switch (xevent->xbutton.button) + { + case 4: /* up */ + case 5: /* down */ + case 6: /* left */ + case 7: /* right */ event->scroll.type = GDK_SCROLL; - event->scroll.direction = (xevent->xbutton.button == 4) ? - GDK_SCROLL_UP : GDK_SCROLL_DOWN; + + if (xevent->xbutton.button == 4) + event->scroll.direction = GDK_SCROLL_UP; + else if (xevent->xbutton.button == 5) + event->scroll.direction = GDK_SCROLL_DOWN; + else if (xevent->xbutton.button == 6) + event->scroll.direction = GDK_SCROLL_LEFT; + else + event->scroll.direction = GDK_SCROLL_RIGHT; + event->scroll.window = window; event->scroll.time = xevent->xbutton.x; event->scroll.x = xevent->xbutton.x + xoffset; @@ -663,9 +675,9 @@ gdk_event_translate (GdkEvent *event, event->scroll.y_root = (gfloat)xevent->xbutton.y_root; event->scroll.state = (GdkModifierType) xevent->xbutton.state; event->scroll.device = gdk_core_pointer; - } - else - { + break; + + default: event->button.type = GDK_BUTTON_PRESS; event->button.window = window; event->button.time = xevent->xbutton.time; @@ -679,6 +691,7 @@ gdk_event_translate (GdkEvent *event, event->button.device = gdk_core_pointer; gdk_event_button_generate (event); + break; } break; -- 2.30.2